// Programmiersprachen 1
// Prof. Dr. H. G. Folz
// Studienklausur WS 2000/2001

package htw.student;

public class HTWStudent extends Student {
    public HTWStudent(String n, String vn, int mnr) {
        super(n, vn, mnr);
        ntab = new PunkteEintrag[30];
    }

    public void tragePunkteEin(String fach, int punkte) {
        int i = 0;
        while (i < ntab.length && ntab[i] != null) {
            if (ntab[i].fach.equals(fach)) {
                ntab[i].punkte = punkte;
                break;
            }
            i++;
        }
        if (i == ntab.length)
            return;     // der Einfachheit halber
        else
        if (ntab[i] == null)
            ntab[i] = new PunkteEintrag(fach, punkte);
    }

    public void loescheEintrag(String fach) {
        int j = 0;
        for (int i = 0; i < ntab.length && ntab[i] != null; i++) {
            if (ntab[i].fach.equals(fach)) {
                if (i == ntab.length - 1)
                    ntab[i] = null;
                else
                    for (j = i; j < ntab.length-1 && ntab[j] != null; j++)
                        ntab[j] = ntab[j + 1];

            }
        }
    }

    public boolean hatBestanden(String fach) {
        int i = 0;
        while (i < ntab.length && ntab[i] != null) {
            if (ntab[i].fach.equals(fach)) {
                if (ntab[i].punkte >= 8)
                    return true;
                else
                    return false;
            }
            i++;
        }
        return false;
    }
    public void gebeAusPunkteListe() {
        System.out.println();
        ausgeben();
        System.out.println("\n\nFach           Punkte");
        System.out.println("-------------------");
        for (int i = 0; i < ntab.length && ntab[i] != null; i++) {
            System.out.println(ntab[i].fach + "\t" + ntab[i].punkte);
        }

    }
    PunkteEintrag[] ntab;
}

class PunkteEintrag implements java.io.Serializable {
    public PunkteEintrag(String f, int n) {
        fach = f;
        punkte = n;
    }
    String fach;
    int punkte;
}
